<!DOCTYPE html>
<html>

<head>
    <!-- <meta charset="utf-8">
    <meta name="description"
          content="Deformable Neural Radiance Fields creates free-viewpoint portraits (nerfies) from casually captured videos.">
    <meta name="keywords" content="Nerfies, D-NeRF, NeRF">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>OpenLoong-Dynamics Control</title>

    <Global site tag (gtag.js) - Google Analytics -->

    <!-- <script async src="https://www.googletagmanager.com/gtag/js?id=G-PYVRSFMDRL"></script>
    <script>
        window.dataLayer = window.dataLayer || [];

        function gtag() {
            dataLayer.push(arguments);
        }

        gtag('js', new Date());

        gtag('config', 'G-PYVRSFMDRL');
    </script> -->

    <!-- <link href="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro"
          rel="stylesheet"> -->
    <link rel="stylesheet" href="./static/css/bulma.min.css">
    <link rel="stylesheet" href="./static/css/bulma-carousel.min.css">
    <link rel="stylesheet" href="./static/css/bulma-slider.min.css">
    <link rel="stylesheet" href="./static/css/fontawesome.all.min.css">
    <!-- <link rel="stylesheet"
          href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css"> -->


    <link rel="stylesheet" href="./static/css/index.css">
    <link rel="icon" href="./static/images/globe-solid.svg">


    <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> -->
    <script defer src="./static/js/fontawesome.all.min.js"></script>
    <script src="./static/js/bulma-carousel.min.js"></script>
    <script src="./static/js/bulma-slider.min.js"></script>
    <script src="./static/js/index.js"></script>

</head>  


<body>
    <section class="hero">
        <div class="hero-body">
            <div class="container is-max-desktop">
                <div class="columns is-centered">
                    <div class="column has-text-centered">
                        <h1 class="title is-1 publication-title">OpenLoong Dynamics Control</h1>
                        <h1_1 class="title is-1 publication-title_1">基于MPC与WBC的仿人机器人运动控制框架</h1_1>
                        <div class="content has-text-justified">
                            <p></p>
                        </div>

                        <div class="is-size-5 publication-authors">
                            <!-- <span class="author-block"><sup>1</sup><a href="">人形机器人上海制造业创新中心</a></span>
                            <span class="author-block"><sup>2</sup><a href="">人形机器人有限公司（上海）</a></span> -->
                            <span class="author-block"><sup>1</sup><span style="color: #0074D9;">上海人形机器人制造业创新中心</span></span>
                            <span class="author-block"><sup>2</sup><span style="color: #0074D9;">人形机器人（上海）有限公司</span></span>
                        </div>

                        <div class="column has-text-centered">
                            <div class="publication-links">
                                <!-- sim code Link. -->
                                <span class="link-block">
                                    <a href="https://atomgit.com/humanoidrobot/openloong-dyn-control"
                                       class="external-link button is-normal is-rounded is-dark">
                                        <span class="icon">
                                            <i class="fab fa-github"></i>
                                        </span>
                                        <span>Sim Code</span>
                                    </a>
                                </span>
                                <!-- hardware  code -->
                                <span class="link-block">
                                    <a 
                                       class="external-link button is-normal is-rounded is-dark">
                                        <span class="icon">
                                            <i class="fab fa-github"></i>
                                        </span>
                                        <span>Hardware Code<span style="font-size: 9px"> coming soon </span> </span>
                                    </a>
                                </span>
                                <!-- Wiki Link. -->
                                <span class="link-block">
                                    <a href="https://static-dev.openloong.org.cn/wiki"
                                       class="external-link button is-normal is-rounded is-dark">
                                        <span class="icon">
                                            <i class="fab fa-wikipedia-w"></i>
                                        </span>
                                        <span>Wiki</span>
                                    </a>
                                </span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <section class="section">
        <div class="container is-max-desktop">
            <!-- Abstract. -->
            <div class="columns is-centered has-text-centered">
                <div class="column is-four-fifths">
                    <!-- <h2 class="title is-3">摘要</h2> -->
                    <div class="content has-text-justified">
                        <p>
                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            仿人机器人是模拟人类行为和外貌的机器人，通过结合先进技术如人工智能、语音识别等，实现更真实人机交互，满足人类对更复杂互动的需求。
                            虽然目前有诸如Atalas、Digit等较为成熟的产品，但有关仿人机器人运动控制的开源内容依旧有限。
                        </p>
                        <p>
                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            本项目开发了基于MPC（Model Predictive Control，模型预测控制）和 WBC（Whole Body Control，全身控制）的开源控制框架，
                            完成全身<b>31</b>个自由度机器人的运动控制，并在Mujoco仿真平台上验证了算法的可行性，实现了机器人的<b>行走</b>、<b>盲踩障碍</b>、<b>跳跃</b>。
                        </p> 
                        <p>
                            本控制框架代码具备以下几个优势:
                            <li>
                                <b>易部署</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;集成了主要第三方库依赖，简化部署过程。
                            </li>
                            <li>
                                <b>可扩展</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;框架结构分层模块化设计，为二次开发提供了友好的环境。
                            </li>
                            <li>
                                <b>易理解</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;针对功能进行代码模块封装，降低代码复杂度，提高可理解性。
                            </li>
                        </p>                    
                    </div>
                </div>
            </div>
        </div>
    </section>

    <section class="section">
        <div class="container is-max-desktop">
            <!-- Abstract. -->
            <div class="columns is-centered has-text-centered">
                <div class="column is-four-fifths">
                    <h2 class="title is-3">MPC+WBC算法控制框架</h2>
                    <div class="content has-text-justified">
                        <p>
                           该控制框架具备以下特点：
                            <li>
                                基于单刚体模型对机身状况的预测产生提前的控制量，提高机器人控制的稳定性。
                            </li>
                            <li>
                                基于全维动力学模型，应用多任务优先级控制，实现冗余自由度机器人的运动控制。
                            </li>
                        </p>
                        <p>
                            控制框图如下所示：
                        </p>
                    </div>
                    <div class="columns has-text-centered">
                        <img src="./static/images/figure1.png"
                             class="figure1-image"
                             alt="figure1 image."
                             width="100%" />
                            </img>     
                    </div>  
                    <div class="content has-text-centered">
                            <p>控制框图</p> 
                    </div>
                    <div class="content has-text-justified">
                        <p>
                            MPC在低频层级运行，基于单刚体模型通过对未来一段时间内对系统模型进行预测，并基于当前系统状态与预测优化生成足底接触力轨迹。
                        </p>
                        <p>
                            机器人单刚体模型如下所示：
                        </p>  
                    </div>
                    <div class="content has-text-centered">
                        <img src="./static/images/MPCmodel.png"
                                class="MPCmodel-image"
                                alt="MPCmodel image."
                                width="28%" />
                        </img>     
                    </div>  
                    <div class="content has-text-justified">
                        <p>
                            MPC的优化过程如下所示：
                        </p> 
                    </div>
                    <div class="content has-text-centered">
                        <img src="./static/images/MPC.png"
                                class="MPC-image"
                                alt="MPC image."
                                width="68%" />
                        </img>     
                    </div>  
                    <div class="content has-text-justified">
                        <p>
                            WBC在高频层级运行，通过零空间映射实现机器人全身多关节对于多任务的执行，并基于全身动力学优化最终生成全身关节的位置速度力矩指令。
                            <p>
                                机器人全维动力学模型如下所示：
                            </p> 
                        </p>   
                    </div>
                    <div class="content has-text-centered">
                        <img src="./static/images/WBCmodel.png"
                                class="WBCmodel-image"
                                alt="WBCmodel image."
                                width="50%" />
                        </img>     
                    </div>  
                    <div class="content has-text-justified">
                        <p>
                            WBC的优化过程如下所示：
                        </p> 
                    </div>
                    <div class="content has-text-centered">
                        <img src="./static/images/WBC.png"
                                class="WBC-image"
                                alt="WBC image."
                                width="35%" />
                        </img>     
                    </div>  
                    <div class="content has-text-justified">
                        <p>
                            以上为本控制框架的核心算法，据此实现机器人的多种运动能力。
                        </p> 
                    </div>
                </div>
            </div>
        </div>
    </section>

    <section class="section">
        <div class="container is-max-desktop">
            <!-- Vedio. -->
            <div class="columns is-centered has-text-centered">
                <div class="column is-four-fifths">
                    <h2 class="title is-3">示例视频</h2>
                    <div class="content has-text-justified">
                        <p>
                            本控制框架在Mujoco仿真平台下实现了机器人行走，并能进行盲踩及跳跃，示例代码可在开源项目仓库中下载并复现其效果。
                        </p>
                    </div>
                    <div class="content has-text-centered">
                        <video id="FastWalk-video"
                               controls
                               muted
                               preload
                               playsinline
                               width="100%">
                            <source src="./static/videos/FastWalk.mp4"
                                    type="video/mp4">
                        </video>
                    </div>
                    <div class="content has-text-centered">
                        <p>
                            示例：1m/s快速行走
                        </p>
                    </div>

                    <div class="column">
                        <video id="WalkOnBoard-video"
                               controls
                               width="49%">
                            <source src="./static/videos/WalkOnBoard.mp4"
                                    type="video/mp4">
                        </video>
                        <video id="Jump-video"
                               controls
                               width="49%">
                            <source src="./static/videos/Jump.mp4"
                                    type="video/mp4">
                        </video>
                    </div>
                    <div class="content has-text-centered">
                        <p>
                            示例：盲踩障碍物与10cm跳跃
                        </p>
                    </div>
                </div>
            </div>
        </div>
        <!--/ Vedio. -->
    </section>

    <section class="section">
        <div class="container is-max-desktop">
            <!-- Abstract. -->
            <div class="columns is-centered has-text-centered">
                <div class="column is-four-fifths">
                    <h2 class="title is-3">写在最后</h2>
                    <div class="content has-text-justified">
                        <p>
                            <li>本项目基于Mujoco仿真平台进行算法可行性验证，仿真环境搭建可参考<a href="https://mujoco.readthedocs.io/en/stable/overview.html">Mujoco</a>官方文档。</li>
                            <li>
                                本项目参考了MPC与WBC相关文献，及MATLAB关于MPC的教程，用户若想进一步了解算法，可参考该文献
                                <sup><a href="https://arxiv.org/abs/1909.06586">1</a></sup><sup>, </sup>
                                <sup><a href="https://arxiv.org/abs/1901.08100">2</a></sup><sup>, </sup>
                                <sup><a href="https://ieeexplore.ieee.org/document/8594448">3</a></sup>
                                及
                                <a href="https://www.mathworks.com/videos/series/understanding-model-predictive-control.html">教程</a>。
                            </li>
                        </p>
                    </div>
                </div>	
            </div>
        </div>
    </section>


    <!--
        <section class="section" id="BibTeX">
            <div class="container is-max-desktop content">
                <h2 class="title">BibTeX</h2>
                <pre><code>@article{park2021nerfies,
      author    = {Park, Keunhong and Sinha, Utkarsh and Barron, Jonathan T. and Bouaziz, Sofien and Goldman, Dan B and Seitz, Steven M. and Martin-Brualla, Ricardo},
      title     = {Nerfies: Deformable Neural Radiance Fields},
      journal   = {ICCV},
      year      = {2024},
    }</code></pre>
            </div>
        </section>
    -->


    <footer class="footer">
        <div class="container">
            <div class="content has-text-centered">
                <a class="icon-link" href="https://atomgit.com/humanoidrobot/openloong-dyn-control" class="external-link" disabled>
                    <i class="fab fa-github"></i>
                </a>
            </div>
            <div class="columns is-centered has-text-centered">
                <div class="column is-8">
                    <div class="content">
                        <p>
                            网站模板来自于
                            <a href="https://nerfies.github.io/">
                                <span class="dnerf">Nerfies</span>
                            </a>.
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </footer>

</body>
</html>
